﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Database;

namespace ATM
{
    public partial class usercontrol : Form
    {

        private ConnectionDB cnn;
        FactoryDatabase factory = new CreateDB(TypeDB.MSSQL);
        string user = "";

        public usercontrol()
        {
            InitializeComponent();
        }
        public string udtmoney()
        {
            
            user = frmMain.user;
            DataTable a = new DataTable("usmoney");
            string returnmoney = "0";
            a = cnn.Query("select * from usmoney where matk = {0}", user);
            if (a != null)
            {
                if (a.Rows.Count != 0)
                {
                    DataRow b = a.Rows[0];
                    returnmoney = b["mney"].ToString();

                }

            }
            else MessageBox.Show("Tài khoản không tồn tại!");


            return returnmoney;
        }
        private void button4_Click(object sender, EventArgs e)
        {

        }

        private void button11_Click(object sender, EventArgs e)
        {
            groupdoimapin.BringToFront();
            groupdoimapin.Show();
            txtmpcu.Focus();
        }

        private void usercontrol_Load(object sender, EventArgs e)
        {
            cnn = factory.Create("A6E0J1PC7PNXIKK", "ATM");
            string ten = "";
            DataTable a = new DataTable("users");
            a = cnn.Query("select * from users where matk = {0}", frmMain.user);
            DataRow b = a.Rows[0];
            ten = b["hoten"].ToString();
            labelhello.Text = "Xin chào " + ten;
            groupxemsodu.Show();
            labelconlai.Text = udtmoney();          
            groupruttien.Hide();
        }

        private void groupCaptk_Enter(object sender, EventArgs e)
        {

        }
        
        private void txtrut_TextChanged(object sender, EventArgs e)
        {
            
            string conlai = udtmoney();
            if (txtrut.Text == "")
            {
                labelvalueconlai.Text = conlai;
            }
            else
            labelvalueconlai.Text = (int.Parse(conlai) - int.Parse(txtrut.Text)).ToString();
        }

        private void btn_rut_xoa_Click(object sender, EventArgs e)
        {
            txtrut.Text = "";
            labelvalueconlai.Text = udtmoney();
        }

        private void label3_Click(object sender, EventArgs e)
        {

        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            txtrut.Text = "";
            groupruttien.BringToFront();
            groupruttien.Show();
            txtrut.Focus();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            labelconlai.Text = udtmoney();
            groupxemsodu.BringToFront();            
            groupxemsodu.Show();
            
        }

        private void btn_ruttien2_Click(object sender, EventArgs e)
        {
            groupruttien.Show();
            groupxemsodu.Hide();
        }

        private void groupruttien_Enter(object sender, EventArgs e)
        {

        }

        private void groupxemsodu_Enter(object sender, EventArgs e)
        {

        }

        private void btn_rut_ok_Click(object sender, EventArgs e)
        {
            int affectrow;
            if (int.Parse(txtrut.Text) < int.Parse(udtmoney()))
            {
                affectrow = cnn.Execute("update usmoney set mney = mney - {0} where matk = {1}", txtrut.Text, user);
                if (affectrow > 0)
                {
                    DialogResult a = MessageBox.Show("Rút tiền thành công, bạn có muốn in hóa đơn không?", "In hóa đơn?", MessageBoxButtons.YesNo);
                }
            }
            else MessageBox.Show("Số tiền trong tài khoản không đủ để rút!");
            
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            txtmpcu.Text = "";
            txtmpmoi.Text = "";
            txtmpmoi2.Text = "";
        }

       
        private void btn_ok_doimapin_Click_1(object sender, EventArgs e)
        {
            DataTable a = new DataTable("users");
            a = cnn.Query("select * from users where matk = {0}", user);
            DataRow b = a.Rows[0];
            string mapin = b["mapin"].ToString();
            if (txtmpmoi2.Text == txtmpmoi.Text && txtmpcu.Text == mapin)
            {   

                int affectrow = cnn.Execute("update users set mapin = {0} where matk = {1}", txtmpmoi.Text, user);
                if (affectrow > 0)
                {
                    MessageBox.Show("Đổi mã pin thành công!");
                    txtmpcu.Text = "";
                    txtmpmoi.Text = "";
                    txtmpmoi2.Text = "";
                }
                else
                {
                    MessageBox.Show("Có lỗi xảy ra, vui lòng thử lại!");
                }
            }
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void btn_ctien_ok_Click(object sender, EventArgs e)
        {
            string tkden = txtkden.Text;
            string tienchuyen = txtchuyentien.Text;
            DataTable a = new DataTable("users");
            a = cnn.Query("select * from users where matk = {0}", tkden);
            if (a.Rows.Count != 0)
                {
                    DataRow b = a.Rows[0];
                    int affectrow1, affectrow2;
                    if (int.Parse(tienchuyen) < int.Parse(udtmoney()))
                    {
                        affectrow1 = cnn.Execute("update usmoney set mney = mney - {0} where matk = {1}", tienchuyen, user);
                        affectrow2 = cnn.Execute("update usmoney set mney = mney + {0} where matk = {1}", tienchuyen, tkden);
                        if (affectrow1 > 0 && affectrow2 > 0)
                        {
                            DialogResult x= MessageBox.Show("Chuyển tiền thành công, bạn có muốn in hóa đơn không?", "In hóa đơn?", MessageBoxButtons.YesNo);
                        }
                    }
                    else MessageBox.Show("Số tiền trong tài khoản không đủ để chuyển!");
            
                }


            else
            {
                MessageBox.Show("Tài khoản không tồn tại!");
                txtkden.SelectAll();
                txtkden.Focus();
            } 
        }   

        private void button2_Click(object sender, EventArgs e)
        {
            groupchuyentien.BringToFront();
            groupchuyentien.Show();
            txtkden.Focus();
        }

        private void btn_ctien_xoa_Click(object sender, EventArgs e)
        {
            txtchuyentien.Text = "";
            txtkden.Text = "";
        }

       
    }
}
